:root {
  --body_font_name: "Source Sans Pro", sans-serif;
  --heading_font_weight: 700;
  --heading_font_name: "Montserrat", sans-serif;
  --body_bg: #ffffff;
  --text_heading_color: #000000;
  --text_body_color: #000000;
  --brand_primary: #284BD6;
  --brand_light: #e9ecef;
  --brand_dark: #343a40;
}

[x-cloak] {
  display: none;
}

.bg-light {
  background-color: var(--brand_light) !important;
}

.background-primary {
  background-color: var(--brand_primary) !important;
}

.bg-secondary {
  background-color: #6b7280 !important;
}

.bg-dark {
  background-color: var(--brand_dark) !important;
}

.border-color-light {
  border-color: var(--brand_light) !important;
}

.border-color-primary {
  border-color: var(--brand_primary) !important;
}

.border-color-secondary {
  border-color: #6b7280 !important;
}

.border-color-dark {
  border-color: var(--brand_dark) !important;
}

.text-dark, .text-dark p {
  color: var(--brand_dark) !important;
}

.text-light, .text-light p {
  color: var(--brand_light) !important;
}

.text-color-primary, .text-color-primary p {
  color: var(--brand_primary) !important;
}

.text-color-secondary, .text-color-secondary p {
  color: #6b7280 !important;
}

.text-heading-primary h1,
.text-heading-primary h2,
.text-heading-primary h3,
.text-heading-primary h4,
.text-heading-primary h5,
.text-heading-primary h6,
.text-heading-primary .h1,
.text-heading-primary .h2,
.text-heading-primary .h3,
.text-heading-primary .h4,
.text-heading-primary .h5,
.text-heading-primary .h6 {
  color: var(--brand_primary) !important;
}

.text-heading-secondary h1,
.text-heading-secondary h2,
.text-heading-secondary h3,
.text-heading-secondary h4,
.text-heading-secondary h5,
.text-heading-secondary h6,
.text-heading-secondary .h1,
.text-heading-secondary .h2,
.text-heading-secondary .h3,
.text-heading-secondary .h4,
.text-heading-secondary .h5,
.text-heading-secondary .h6 {
  color: #6b7280 !important;
}

.text-heading-light h1,
.text-heading-light h2,
.text-heading-light h3,
.text-heading-light h4,
.text-heading-light h5,
.text-heading-light h6,
.text-heading-light .h1,
.text-heading-light .h2,
.text-heading-light .h3,
.text-heading-light .h4,
.text-heading-light .h5,
.text-heading-light .h6 {
  color: var(--brand_light) !important;
}

.text-heading-dark h1,
.text-heading-dark h2,
.text-heading-dark h3,
.text-heading-dark h4,
.text-heading-dark h5,
.text-heading-dark h6,
.text-heading-dark .h1,
.text-heading-dark .h2,
.text-heading-dark .h3,
.text-heading-dark .h4,
.text-heading-dark .h5,
.text-heading-dark .h6 {
  color: var(--brand_dark) !important;
}

.text-heading-black h1,
.text-heading-black h2,
.text-heading-black h3,
.text-heading-black h4,
.text-heading-black h5,
.text-heading-black h6,
.text-heading-black .h1,
.text-heading-black .h2,
.text-heading-black .h3,
.text-heading-black .h4,
.text-heading-black .h5,
.text-heading-black .h6 {
  color: #000000 !important;
}

.text-heading-white h1,
.text-heading-white h2,
.text-heading-white h3,
.text-heading-white h4,
.text-heading-white h5,
.text-heading-white h6,
.text-heading-white .h1,
.text-heading-white .h2,
.text-heading-white .h3,
.text-heading-white .h4,
.text-heading-white .h5,
.text-heading-white .h6 {
  color: #ffffff !important;
}

.text-link-primary a {
  color: var(--brand_primary) !important;
}

.text-link-secondary a {
  color: #6b7280 !important;
}

.text-link-light a {
  color: var(--brand_light) !important;
}

.text-link-dark a {
  color: var(--brand_dark) !important;
}

.text-link-black a {
  color: #000000 !important;
}

.text-link-white a {
  color: #ffffff !important;
}

body {
  line-height: 1.7;
  scroll-behavior: smooth;
  margin: 0;
  font-family: var(--body_font_name);
  font-size: 1rem;
  font-weight: 400;
  color: var(--text_body_color);
}

html {
  scroll-behavior: smooth;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  margin-top: 0;
  margin-bottom: .5rem;
  font-family: var(--heading_font_name);
  font-weight: var(--heading_font_weight);
  line-height: 1.2;
  color: var(--text_heading_color);
}

body {
  background: var(--body_bg) radial-gradient(circle, hsla(from var(--brand_primary) h s l / 0.5) 0%, var(--body_bg)) fixed !important;
}

.website-blocks {
  width: 100%;
  overflow: hidden;
  background-color: var(--body_bg);
}

@media (min-width: 992px) {
  overflow: initial;
}

.website-blocks.has-cover {
  height: 100vh;
  overflow: hidden;
}

.website-blocks.has-cover ~ * {
  display: none !important
}

.website-blocks:not(.has-cover) .website-cover {
  transform: translateY(-100%)
}

.website-cover {
  background: var(--body_bg);
  position: fixed;
  z-index: 1050;
  width: 100%;
  max-width: 480px;
  height: 100%;
  overflow: hidden;
  display: flex;
  align-items: stretch;
  justify-content: stretch;
  transition: cubic-bezier(.2, 0, 0, 1) 1s
}

.website-cover > section {
  width: 100%;
  min-height: 100%
}

.website-cover > section > .container,
.website-cover > section > .container-fluid,
.website-cover > section > .container-sm,
.website-cover > section > .container-md,
.website-cover > section > .container-lg,
.website-cover > section > .container-xl {
  align-self: center
}

.website-cover .btn-floating {
  position: absolute;
  bottom: 2rem;
  left: 0;
  z-index: 1;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: floating 3s ease-in-out infinite;
}

.website-cover .btn-floating i {
  animation: floating 3s ease-in-out infinite
}

@keyframes floating {
  0% {
    transform: translatey(4px)
  }
  50% {
    transform: translatey(-4px)
  }
  100% {
    transform: translatey(4px)
  }
}

@keyframes wave-left {
  0% {
    transform: rotate(var(--rotate-start, -2deg))
  }
  100% {
    transform: rotate(var(--rotate-end, 5deg))
  }
}

@keyframes wave-right {
  0% {
    transform: rotate(var(--rotate-start, 2deg))
  }
  100% {
    transform: rotate(var(--rotate-end, -5deg))
  }
}

@keyframes gentle-bounce {
  0% {
    transform: rotate(var(--rotate-start, -3deg)) scale(1)
  }
  100% {
    transform: rotate(var(--rotate-end, 0deg)) scale(1.05);
  }

}

@keyframes micro-pulse {
  0%, 100% {
    transform: scale3d(1, 1, 1);
  }

  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
}

section.website-block {
  position: relative;
  display: flex;
  flex-direction: column
}

.slots {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  align-items: center;
  justify-content: center;
  overflow: hidden
}

.hero {
  background: no-repeat center center #284bd6;
  background-size: cover;
  position: relative;
  height: 660px;
  max-height: 100vh;
  background-position: center center;
}

.hero.overlay-dark {
  text-shadow: 0 0 30px rgba(0, 0, 0, 0.8);
}

.hero.overlay-light {
  text-shadow: 0 0 30px rgba(255, 255, 255, 0.8);
}

.greeting {
  background: no-repeat center center #284bd6;
  background-size: cover;
  position: relative;
  height: 660px;
  max-height: 100vh;
  background-position: center center;
}

.greeting.overlay-dark {
  text-shadow: 0 0 30px rgba(0, 0, 0, 0.8);
}

.greeting.overlay-light {
  text-shadow: 0 0 30px rgba(255, 255, 255, 0.8);
}

.quote {
  height: 660px;
}

.section.overlay-dark:before {
  background: rgba(0, 0, 0, .5);
}

.section.overlay-light:before {
  background: rgba(255, 255, 255, .85);
}

section.bg-image {
  background-size: cover;
  background-position: center
}

section.bg-image.bg-image-cover {
  background-size: cover
}

section.bg-image.bg-image-contain {
  background-size: contain
}

section.bg-image.bg-image-tile {
  background-size: auto;
  background-repeat: repeat
}

section.bg-image.bg-image-original {
  background-size: auto;
  background-repeat: no-repeat
}

section.bg-image.overlay-dark:before, section.bg-image.overlay-light:before {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%
}

section.bg-image.overlay-dark > *, section.bg-image.overlay-light > * {
  position: relative
}

section.bg-image.overlay-1:before, section.bg-image.overlay-dark:before {
  background: rgba(0, 0, 0, 0.5)
}

section.bg-image.overlay-light:before {
  background: rgba(255, 255, 255, 0.85)
}

.hero.noshade:before {
  display: none
}

.hero:before {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: -webkit-linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background: -o-linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background: -moz-linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.hero .lead {
  letter-spacing: 3px
}

.greeting.noshade:before {
  display: none
}

.greeting:before {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: -webkit-linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background: -o-linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background: -moz-linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}

.greeting .lead {
  letter-spacing: 3px
}

.events, .videos {
  min-height: 600px;
}

/*.flexbin{display:flex;overflow:hidden;flex-wrap:wrap;margin:0 -2.5px;padding:2.5px 0}*/
.flexbin > * {
  position: relative;
}

/*.flexbin>*>img{height:300px;object-fit:cover;max-width:100%;min-width:100%;vertical-align:bottom}*/
/*.flexbin.flexbin-margin{margin:2.5px}*/
/*@media*/
/*(max-width:980px){.flexbin{display:flex;overflow:hidden;flex-wrap:wrap;margin:0 -2.5px;padding:2.5px 0}.flexbin>*{position:relative;display:block;height:150px;margin:2.5px;flex-grow:1}.flexbin>*>img{height:150px;object-fit:cover;max-width:100%;min-width:100%;vertical-align:bottom}.flexbin.flexbin-margin{margin:2.5px}}*/
/*@media*/
/*(max-width:400px){.flexbin{display:flex;overflow:hidden;flex-wrap:wrap;margin:0 -2.5px;padding:2.5px 0}.flexbin>*{position:relative;display:block;height:100px;margin:2.5px;flex-grow:1}.flexbin>*>img{height:100px;object-fit:cover;max-width:100%;min-width:100%;vertical-align:bottom}.flexbin.flexbin-margin{margin:2.5px}}*/
.addtocalendar var {
  display: none
}

.addtocalendar {
  position: relative;
  display: inline-block;
  background: transparent !important
}

.atcb-link {
  display: block;
  outline: none !important;
  cursor: pointer
}

.atcb-link:focus ~ ul, .atcb-link:active ~ ul, .atcb-list:hover {
  visibility: visible
}

.atcb-list {
  visibility: hidden;
  position: absolute;
  top: 100%;
  left: 0;
  width: 170px;
  z-index: 900
}

.atcb-list, .atcb-item {
  list-style: none;
  margin: 0;
  padding: 0;
  background: #fff
}

.atcb-item {
  float: none;
  text-align: left
}

.atcb-item-link {
  text-decoration: none;
  outline: none;
  display: block
}

.atcb-item.hover, .atcb-item:hover {
  position: relative;
  z-index: 900;
  cursor: pointer;
  text-decoration: none;
  outline: none
}

@media (max-width: 767.98px) {
  .mx-mobile-out {
    padding-left: 0;
    padding-right: 0
  }
}

.flip-x {
  -webkit-transform: scaleX(-1) !important;
  transform: scaleX(-1) !important;
}

.flip-y {
  -webkit-transform: scaleY(-1) !important;
  transform: scaleY(-1) !important;
}

.flip-xy {
  -webkit-transform: scale(-1) !important;
  transform: scale(-1) !important;
}

.rounded-circle-top {
  border-radius: 50% 50% 0 0
}

.rounded-circle-bottom {
  border-radius: 0 0 50% 50%
}

.clip-rhombus {
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
  -webkit-clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%)
}

.clip-hexagon {
  clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  -webkit-clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%)
}

.clip-bevel {
  clip-path: polygon(20% 0%, 80% 0%, 100% 20%, 100% 80%, 80% 100%, 20% 100%, 0% 80%, 0% 20%);
  -webkit-clip-path: polygon(20% 0%, 80% 0%, 100% 20%, 100% 80%, 80% 100%, 20% 100%, 0% 80%, 0% 20%)
}

.clip-oval {
  border-radius: 300px 300px 300px 300px;
  width: 170px !important;
}

.has-divider {
  background-color: var(--body_bg);
  -webkit-mask-size: cover, 100% 50px;
  -webkit-mask-position: top center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-composite: source-out;
  mask-composite: exclude;
  margin-top: -50px
}

.has-divider:before {
  content: "";
  height: 50px;
  display: block;
  width: 100%
}

.has-divider + :after {
  content: "";
  height: 50px;
  display: block;
  width: 100%
}

.divider-wave {
  -webkit-mask-image: url(/img/assets/square.svg), url(/img/assets/divider-wave.svg)
}

.divider-wave-1 {
  -webkit-mask-image: url(/img/assets/square.svg), url(/img/assets/divider-wave-1.svg)
}

.divider-triangle-down {
  -webkit-mask-image: url(/img/assets/square.svg), url(/img/assets/divider-triangle-down.svg)
}

.divider-triangle-up {
  -webkit-mask-image: url(/img/assets/square.svg), url(/img/assets/divider-triangle-up.svg)
}

.divider-curve-down {
  -webkit-mask-image: url(/img/assets/square.svg), url(/img/assets/divider-curve-down.svg)
}

.divider-curve-up {
  -webkit-mask-image: url(/img/assets/square.svg), url(/img/assets/divider-curve-up.svg)
}

.divider-tilt-1 {
  -webkit-mask-image: url(/img/assets/square.svg), url(/img/assets/divider-tilt-1.svg);
  -webkit-mask-size: cover, 100% 90px;
  margin-top: -90px
}

.divider-tilt-2 {
  -webkit-mask-image: url(/img/assets/square.svg), url(/img/assets/divider-tilt-2.svg);
  -webkit-mask-size: cover, 100% 90px;
  margin-top: -90px
}

.divider-book {
  -webkit-mask-image: url(/img/assets/square.svg), url(/img/assets/divider-book.svg)
}

.divider-zigzag {
  -webkit-mask-image: url(/img/assets/square.svg), url(/img/assets/divider-zigzag.svg);
  -webkit-mask-size: cover, auto;
  -webkit-mask-repeat: repeat-x;
  margin-top: -25px
}

h1, .h1 {
  font-size: 2.5rem
}

h2, .h2 {
  font-size: 2rem
}

h3, .h3 {
  font-size: 1.75rem
}

h4, .h4 {
  font-size: 1.5rem
}

h5, .h5 {
  font-size: 1.25rem
}

h6, .h6 {
  font-size: 1rem
}

.lead {
  font-size: 1.25rem;
  font-weight: 400
}

.font-size-xs {
  font-size: 0.75rem
}

.font-size-xs .lead {
  font-size: 0.9375rem
}

.font-size-xs h1, .font-size-xs .h1 {
  font-size: 1.875rem
}

.font-size-xs h2, .font-size-xs .h2 {
  font-size: 1.5rem
}

.font-size-xs h3, .font-size-xs .h3 {
  font-size: 1.3125rem
}

.font-size-xs h4, .font-size-xs .h4 {
  font-size: 1.125rem
}

.font-size-xs h5, .font-size-xs .h5 {
  font-size: 0.9375rem
}

.font-size-xs h6, .font-size-xs .h6 {
  font-size: 0.75rem
}

.font-size-sm {
  font-size: 0.875rem
}

.font-size-sm .lead {
  font-size: 1.09375rem
}

.font-size-sm h1, .font-size-sm .h1 {
  font-size: 2.1875rem
}

.font-size-sm h2, .font-size-sm .h2 {
  font-size: 1.75rem
}

.font-size-sm h3, .font-size-sm .h3 {
  font-size: 1.53125rem
}

.font-size-sm h4, .font-size-sm .h4 {
  font-size: 1.3125rem
}

.font-size-sm h5, .font-size-sm .h5 {
  font-size: 1.09375rem
}

.font-size-sm h6, .font-size-sm .h6 {
  font-size: 0.875rem
}

.font-size-lg {
  font-size: 1.25rem
}

.font-size-lg .lead {
  font-size: 1.5625rem
}

.font-size-lg h1, .font-size-lg .h1 {
  font-size: 3.125rem
}

.font-size-lg h2, .font-size-lg .h2 {
  font-size: 2.5rem
}

.font-size-lg h3, .font-size-lg .h3 {
  font-size: 2.1875rem
}

.font-size-lg h4, .font-size-lg .h4 {
  font-size: 1.875rem
}

.font-size-lg h5, .font-size-lg .h5 {
  font-size: 1.5625rem
}

.font-size-lg h6, .font-size-lg .h6 {
  font-size: 1.25rem
}

.font-size-xl {
  font-size: 1.875rem
}

.font-size-xl .lead {
  font-size: 1.875rem
}

.font-size-xl h1, .font-size-xl .h1 {
  font-size: 3.75rem
}

.font-size-xl h2, .font-size-xl .h2 {
  font-size: 3rem
}

.font-size-xl h3, .font-size-xl .h3 {
  font-size: 2.625rem
}

.font-size-xl h4, .font-size-xl .h4 {
  font-size: 2.25rem
}

.font-size-xl h5, .font-size-xl .h5 {
  font-size: 1.875rem
}

.font-size-xl h6, .font-size-xl .h6 {
  font-size: 1.5rem
}

.prose, .prose * {
  color: var(--text_body_color) !important;
}

.lead p {
  color: var(--text_body_color);
}

.prose ol li::marker,
.prose ul li::marker {
  color: var(--text_body_color) !important; /* Set marker color */
}


.text-white, .text-white p {
  color: #fff !important;
}

.text-black, .text-black p {
  color: #000 !important;
}

.btn-music-primary {
  border: 1px solid var(--body_bg);
  background-color: var(--brand_primary);
  color: var(--body_bg);
}

.btn-music-secondary {
  border: 1px solid white;
  background-color: #6b7280;
  color: white;
}

.btn-music-dark {
  border: 1px solid var(--brand_light);
  background-color: var(--brand_dark);
  color: var(--brand_light);
}

.btn-music-light {
  border: 1px solid var(--brand_dark);
  background-color: var(--brand_light);
  color: var(--brand_dark);
}

.particles-js-canvas-el {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
  top: 0;
}

.hero:before {
  content: " ";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: -webkit-linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background: -o-linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background: -moz-linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0))
}
